home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / util / libs / DateLib.lha / DateLib / Developer / Cluster / txt / Date.def next >
Encoding:
Text File  |  1999-06-16  |  25.7 KB  |  759 lines

  1. |##########|
  2. |#MAGIC   #|HHOAELKM
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#LINK    #|""
  6. |#GUIDE   #|""
  7. |#STACK   #|"4096"
  8. |#FLAGS   #|xx-x-x-xxxx-xxx-----------------
  9. |#USERSW  #|--x-----------------------------
  10. |#USERMASK#|--------------------------------
  11. |#SWITCHES#|xx---xxxxx-xx---
  12. |##########|
  13. DEFINITION MODULE Date;
  14.  
  15. (*
  16. **
  17. ** Copyright © 1997-1999 Dipl.-Inform. Kai Hofmann. All rights reserved.
  18. ** Registered Amiga shared library!
  19. **
  20. ** $VER: Date.def 33.310 (16.06.99)
  21. **
  22. ** Cluster interface model by henning.thielemann@student.uni-halle.de
  23. *)
  24.  
  25. FROM SYSTEM    IMPORT SysStringPtr, Regs;
  26. FROM Exec      IMPORT LibraryPtr;
  27.  
  28.  
  29. TYPE
  30.   MoonPhases     = (newMoon, firstQuarter, fullMoon, lastQuarter);
  31.   Weekdays       = (dayErr, monday, tuesday, wednesday, thursday, friday,
  32.             saturday, sunday);
  33.  
  34.   DateTexts      = (day, month, year, week, weekday, hour, minute, second,
  35.             yesterday, today, tomorrow);
  36.   WordClasses    = (singular, plural, periodical);
  37.  
  38.   Languages      = (Locale, English, German, French, Spanish, Portuguese, Danish,
  39.             Italian, Dutch, Norwegian, Swedish, Polish, Finnish, Hungarian,
  40.             Greek, Esperanto, Turkish, Latin, Russian, Czech, Catalonian,
  41.             Serbian, LASTLANGUAGE);
  42.   Countries      = (unknown, Italia, Deutschland, Schweiz, Danmark,
  43.             Nederland, GreatBritain, USA, Sweden);
  44.   Calendars      = (Julian, Gregorian, Heis);
  45.   ChangeDayModes = (normal, winterToSummer, summerToWinter);
  46.  
  47. VAR
  48.   DateBase : LibraryPtr;
  49.  
  50.  
  51. LIBRARY DateBase BY -294
  52.   PROCEDURE TimeToJD (hour IN D0,
  53.               min  IN D1,
  54.               sec  IN D2 : SHORTCARD) : REAL;
  55.  
  56. LIBRARY DateBase BY -300
  57.   PROCEDURE JDToTime (jd    IN D0 : REAL;
  58.           VAR rhour IN A0,
  59.               rmin  IN A1,
  60.               rsec  IN A2 : SHORTCARD);
  61.  
  62. LIBRARY DateBase BY -318
  63.   PROCEDURE TimeZoneFactor (degree IN D0 : SHORTINT) : SHORTINT;
  64.  
  65. LIBRARY DateBase BY -324
  66.   PROCEDURE LMT (secs           IN D0 : LONGCARD;
  67.          meridiandegree IN D1 : REAL;
  68.          posdegree      IN D2 : REAL) : LONGINT;
  69.  
  70. LIBRARY DateBase BY -330
  71.   PROCEDURE TimeToSec (hour IN D0,
  72.                min  IN D1,
  73.                sec  IN D2 : SHORTCARD) : LONGCARD;
  74.  
  75. LIBRARY DateBase BY -336
  76.   PROCEDURE SecToTime (secs IN D0 : LONGCARD;
  77.            VAR hour IN A0,
  78.                min  IN A1,
  79.                sec  IN A2 : SHORTCARD);
  80.  
  81. LIBRARY DateBase BY -426
  82.   PROCEDURE Compare2Times (hour1 IN D0,
  83.                min1  IN D1,
  84.                sec1  IN D2,
  85.                hour2 IN D3,
  86.                min2  IN D4,
  87.                sec2  IN D5 : SHORTCARD) : SHORTINT;
  88.  
  89. LIBRARY DateBase BY -438
  90.   PROCEDURE ValidTime(hour IN D0,
  91.               min  IN D1,
  92.               sec  IN D2 : SHORTCARD) : BOOLEAN;
  93.  
  94. LIBRARY DateBase BY -468
  95.   PROCEDURE TimeDiff(hour1 IN D0,
  96.              min1  IN D1,
  97.              sec1  IN D2,
  98.              hour2 IN D3,
  99.              min2  IN D4,
  100.              sec2  IN D5 : SHORTCARD) : LONGINT;
  101.  
  102. LIBRARY DateBase BY -474
  103.   PROCEDURE DiffTime(hour      IN D0,
  104.              min       IN D1,
  105.              sec       IN D2 : SHORTCARD;
  106.              diffsecs  IN D3 : LONGINT;
  107.              VAR rhour IN A0,
  108.              rmin  IN A1,
  109.              rsec  IN A2 : SHORTCARD);
  110.  
  111. LIBRARY DateBase BY -498
  112.   PROCEDURE FormatTime(fmt        IN A0 : SysStringPtr;
  113.                changeDay  IN D0 : ChangeDayModes;
  114.                changeHour IN D1 : SHORTCARD;
  115.                DST        IN D2 : BOOLEAN;
  116.                hour       IN D3,
  117.                min        IN D4,
  118.                sec        IN D5 : SHORTCARD;
  119.                zonemin    IN D6 : SHORTINT;
  120.                tstr       IN A1 : SysStringPtr);
  121.  
  122. LIBRARY DateBase BY -504
  123.   PROCEDURE ParseTime(fmt         IN D0,
  124.               tstr        IN D1 : SysStringPtr;
  125.               changeDay   IN D2 : ChangeDayModes;
  126.               changeHour  IN D3 : SHORTCARD;
  127.               VAR DST     IN D4 : BOOLEAN;
  128.               hour        IN A0,
  129.               min         IN A1,
  130.               sec         IN A2 : SHORTCARD;
  131.               VAR zonemin IN A3 : SHORTINT;
  132.               pfmt        IN D5 : SysStringPtr) : SHORTINT;
  133.  
  134. LIBRARY DateBase BY -594
  135.   PROCEDURE TimeToNum(hour IN D0,
  136.               min  IN D1,
  137.               sec  IN D2 : SHORTCARD) : LONGCARD;
  138.  
  139. LIBRARY DateBase BY -600
  140.   PROCEDURE NumToTime(num   IN D0: LONGCARD;
  141.               rhour IN A0,
  142.               rmin  IN A1,
  143.               rsec  IN A2 : SHORTCARD);
  144.  
  145.  
  146. LIBRARY DateBase BY -30
  147.   PROCEDURE JulianLeapYear(year IN D0 : LONGINT) : BOOLEAN;
  148. LIBRARY DateBase BY -36
  149.   PROCEDURE GregorianLeapYear(year IN D0 : LONGINT) : BOOLEAN;
  150. LIBRARY DateBase BY -42
  151.   PROCEDURE HeisLeapYear(year IN D0 : LONGINT) : BOOLEAN;
  152. LIBRARY DateBase BY -48
  153.   PROCEDURE JulianMonthDays(month IN D0 : SHORTCARD;
  154.                 year  IN D1 : LONGINT) : SHORTCARD;
  155. LIBRARY DateBase BY -54
  156.   PROCEDURE GregorianMonthDays(month IN D0 : SHORTCARD;
  157.                    year  IN D1 : LONGINT) : SHORTCARD;
  158. LIBRARY DateBase BY -60
  159.   PROCEDURE HeisMonthDays(month IN D0 : SHORTCARD;
  160.               year  IN D1 : LONGINT) : SHORTCARD;
  161. LIBRARY DateBase BY -66
  162.   PROCEDURE JulianYearDays(year IN D0 : LONGINT) : CARDINAL;
  163. LIBRARY DateBase BY -72
  164.   PROCEDURE GregorianYearDays(year IN D0 : LONGINT) : CARDINAL;
  165. LIBRARY DateBase BY -78
  166.   PROCEDURE HeisYearDays(year IN D0 : LONGINT) : CARDINAL;
  167. LIBRARY DateBase BY -420
  168.   PROCEDURE Compare2Dates(day1   IN D0,
  169.               month1 IN D1 : SHORTCARD;
  170.               year1  IN D2 : LONGINT;
  171.               day2   IN D3,
  172.               month2 IN D4 : SHORTCARD;
  173.               year2  IN D5 : LONGINT) : SHORTINT;
  174. LIBRARY DateBase BY -120
  175.   PROCEDURE JulianDayDiff(day1   IN D0,
  176.               month1 IN D1 : SHORTCARD;
  177.               year1  IN D2 : LONGINT;
  178.               day2   IN D3,
  179.               month2 IN D4 : SHORTCARD;
  180.               year2  IN D5 : LONGINT) : LONGINT;
  181. LIBRARY DateBase BY -126
  182.   PROCEDURE GregorianDayDiff(day1   IN D0,
  183.                  month1 IN D1 : SHORTCARD;
  184.                  year1  IN D2 : LONGINT;
  185.                  day2   IN D3,
  186.                  month2 IN D4 : SHORTCARD;
  187.                  year2  IN D5 : LONGINT) : LONGINT;
  188. LIBRARY DateBase BY -132
  189.   PROCEDURE HeisDayDiff(day1   IN D0,
  190.             month1 IN D1 : SHORTCARD;
  191.             year1  IN D2 : LONGINT;
  192.             day2   IN D3,
  193.             month2 IN D4 : SHORTCARD;
  194.             year2  IN D5 : LONGINT) : LONGINT;
  195. LIBRARY DateBase BY -138
  196.   PROCEDURE JulianWeekday(day   IN D0,
  197.               month IN D1 : SHORTCARD;
  198.               year  IN D2 : LONGINT) : Weekdays;
  199. LIBRARY DateBase BY -144
  200.   PROCEDURE GregorianWeekday(day   IN D0,
  201.                  month IN D1 : SHORTCARD;
  202.                  year  IN D2 : LONGINT) : Weekdays;
  203. LIBRARY DateBase BY -150
  204.   PROCEDURE HeisWeekday(day   IN D0,
  205.             month IN D1 : SHORTCARD;
  206.             year  IN D2 : LONGINT) : Weekdays;
  207. LIBRARY DateBase BY -156
  208.   PROCEDURE JulianDaysBeforeWeekday(day     IN D0,
  209.                     month   IN D1 : SHORTCARD;
  210.                     year    IN D2 : LONGINT;
  211.                     weekday IN D3 : Weekdays) : SHORTCARD;
  212. LIBRARY DateBase BY -162
  213.   PROCEDURE GregorianDaysBeforeWeekday(day     IN D0,
  214.                        month   IN D1 : SHORTCARD;
  215.                        year    IN D2 : LONGINT;
  216.                        weekday IN D3 : Weekdays) : SHORTCARD;
  217. LIBRARY DateBase BY -168
  218.   PROCEDURE HeisDaysBeforeWeekday(day     IN D0,
  219.                   month   IN D1 : SHORTCARD;
  220.                   year    IN D2 : LONGINT;
  221.                   weekday IN D3 : Weekdays) : SHORTCARD;
  222. LIBRARY DateBase BY -174
  223.   PROCEDURE JulianDaysAfterWeekday(day     IN D0,
  224.                    month   IN D1 : SHORTCARD;
  225.                    year    IN D2 : LONGINT;
  226.                    weekday IN D3 : Weekdays) : SHORTCARD;
  227. LIBRARY DateBase BY -180
  228.   PROCEDURE GregorianDaysAfterWeekday(day     IN D0,
  229.                       month   IN D1 : SHORTCARD;
  230.                       year    IN D2 : LONGINT;
  231.                       weekday IN D3 : Weekdays) : SHORTCARD;
  232. LIBRARY DateBase BY -186
  233.   PROCEDURE HeisDaysAfterWeekday(day     IN D0,
  234.                  month   IN D1 : SHORTCARD;
  235.                  year    IN D2 : LONGINT;
  236.                  weekday IN D3 : Weekdays) : SHORTCARD;
  237. LIBRARY DateBase BY -192
  238.   PROCEDURE JulianDiffDate(day        IN D0,
  239.                month      IN D1 : SHORTCARD;
  240.                year       IN D2 : LONGINT;
  241.                days       IN D3 : LONGINT;
  242.                VAR dday   IN A0,
  243.                    dmonth IN A1 : SHORTCARD;
  244.                VAR dyear  IN A2 : LONGINT);
  245. LIBRARY DateBase BY -198
  246.   PROCEDURE GregorianDiffDate(day        IN D0,
  247.                   month      IN D1 : SHORTCARD;
  248.                   year       IN D2 : LONGINT;
  249.                   days       IN D3 : LONGINT;
  250.                   VAR dday   IN A0,
  251.                   dmonth IN A1 : SHORTCARD;
  252.                   VAR dyear  IN A2 : LONGINT);
  253. LIBRARY DateBase BY -204
  254.   PROCEDURE HeisDiffDate(day        IN D0,
  255.              month      IN D1 : SHORTCARD;
  256.              year       IN D2 : LONGINT;
  257.              days       IN D3 : LONGINT;
  258.              VAR dday   IN A0,
  259.                  dmonth IN A1 : SHORTCARD;
  260.              VAR dyear  IN A2 : LONGINT);
  261. LIBRARY DateBase BY -210
  262.   PROCEDURE JYearToScaliger(year IN D0 : LONGINT) : CARDINAL;
  263. LIBRARY DateBase BY -216
  264.   PROCEDURE GYearToScaliger(year IN D0 : LONGINT) : CARDINAL;
  265. LIBRARY DateBase BY -222
  266.   PROCEDURE HYearToScaliger(year IN D0 : LONGINT) : CARDINAL;
  267. LIBRARY DateBase BY -228
  268.   PROCEDURE ScaligerYearToJ(syear IN D0 : CARDINAL) : LONGINT;
  269. LIBRARY DateBase BY -234
  270.   PROCEDURE ScaligerYearToG(syear IN D0 : CARDINAL) : LONGINT;
  271. LIBRARY DateBase BY -240
  272.   PROCEDURE ScaligerYearToH(syear IN D0 : CARDINAL) : LONGINT;
  273. LIBRARY DateBase BY -246
  274.   PROCEDURE JSYearToJD(syear IN D0 : CARDINAL) : LONGCARD;
  275. LIBRARY DateBase BY -252
  276.   PROCEDURE GSYearToJD(syear IN D0 : CARDINAL) : LONGCARD;
  277. LIBRARY DateBase BY -258
  278.   PROCEDURE HSYearToJD(syear IN D0 : CARDINAL) : LONGCARD;
  279. LIBRARY DateBase BY -264
  280.   PROCEDURE JDtoMJD(jd IN D0 : LONGCARD) : LONGCARD;
  281. LIBRARY DateBase BY -270
  282.   PROCEDURE MJDtoJD(mjd IN D0 : LONGCARD) : LONGCARD;
  283. LIBRARY DateBase BY -276
  284.   PROCEDURE JulianToJD(day   IN D0,
  285.                month IN D1 : SHORTCARD;
  286.                year  IN D2 : LONGINT) : LONGCARD;
  287. LIBRARY DateBase BY -282
  288.   PROCEDURE GregorianToJD(day   IN D0,
  289.               month IN D1 : SHORTCARD;
  290.               year  IN D2 : LONGINT) : LONGCARD;
  291. LIBRARY DateBase BY -288
  292.   PROCEDURE HeisToJD(day   IN D0,
  293.              month IN D1 : SHORTCARD;
  294.              year  IN D2 : LONGINT) : LONGCARD;
  295. LIBRARY DateBase BY -306
  296.   PROCEDURE GregorianMoonAge(day   IN D0,
  297.                  month IN D1 : SHORTCARD;
  298.                  year  IN D2 : LONGINT) : SHORTCARD;
  299. LIBRARY DateBase BY -402
  300.   PROCEDURE JulianEaster(year       IN D0 : LONGINT;
  301.              VAR dday   IN A0,
  302.                  dmonth IN A1 : SHORTCARD);
  303. LIBRARY DateBase BY -312
  304.   PROCEDURE GregorianEaster(year       IN D0 : LONGINT;
  305.                 VAR dday   IN A0,
  306.                 dmonth IN A1 : SHORTCARD);
  307. LIBRARY DateBase BY -408
  308.   PROCEDURE HeisEaster(year       IN D0 : LONGINT;
  309.                VAR dday   IN A0,
  310.                dmonth IN A1 : SHORTCARD);
  311. LIBRARY DateBase BY -342
  312.   PROCEDURE JulianWeek(day   IN D0,
  313.                month IN D1 : SHORTCARD;
  314.                year  IN D2 : LONGINT) : SHORTCARD;
  315. LIBRARY DateBase BY -348
  316.   PROCEDURE GregorianWeek(day   IN D0,
  317.               month IN D1 : SHORTCARD;
  318.               year  IN D2 : LONGINT) : SHORTCARD;
  319. LIBRARY DateBase BY -354
  320.   PROCEDURE HeisWeek(day   IN D0,
  321.              month IN D1 : SHORTCARD;
  322.              year  IN D2 : LONGINT) : SHORTCARD;
  323. LIBRARY DateBase BY -360
  324.   PROCEDURE WeekdayText(wday  IN D0 : Weekdays;
  325.             wtext IN A0 : SysStringPtr;
  326.             lang  IN D1 : Languages) : SHORTCARD;
  327. LIBRARY DateBase BY -372
  328.   PROCEDURE WeekdayShortText(wday  IN D0 : Weekdays;
  329.                  wtext IN A0 : SysStringPtr;
  330.                  lang  IN D1 : Languages) : SHORTCARD;
  331. LIBRARY DateBase BY -366
  332.   PROCEDURE MonthText(month IN D0 : SHORTCARD;
  333.               mtext IN A0 : SysStringPtr;
  334.               lang  IN D1 : Languages) : SHORTCARD;
  335. LIBRARY DateBase BY -378
  336.   PROCEDURE MonthShortText(month IN D0 : SHORTCARD;
  337.                mtext IN A0 : SysStringPtr;
  338.                lang  IN D1 : Languages) : SHORTCARD;
  339. LIBRARY DateBase BY -432
  340.   PROCEDURE DateText(text  IN D0 : DateTexts;
  341.              mtext IN A0 : SysStringPtr;
  342.              lang  IN D1 : Languages;
  343.              wc    IN D2 : WordClasses);
  344. LIBRARY DateBase BY -384
  345.   PROCEDURE JDToJulian(jd        IN D0 : LONGCARD;
  346.                VAR day   IN A0,
  347.                month IN A1 : SHORTCARD;
  348.                VAR year  IN A2 : LONGINT);
  349. LIBRARY DateBase BY -390
  350.   PROCEDURE JDToGregorian(jd        IN D0 : LONGCARD;
  351.               VAR day   IN A0,
  352.                   month IN A1 : SHORTCARD;
  353.               VAR year  IN A2 : LONGINT);
  354. LIBRARY DateBase BY -396
  355.   PROCEDURE JDToHeis(jd        IN D0 : LONGCARD;
  356.              VAR day   IN A0,
  357.              month IN A1 : SHORTCARD;
  358.              VAR year  IN A2 : LONGINT);
  359. LIBRARY DateBase BY -414
  360.   PROCEDURE GregorianMoonPhase(day   IN D0,
  361.                    month IN D1 : SHORTCARD;
  362.                    year  IN D2 : LONGINT;
  363.                    phase IN D3 : MoonPhases) : LONGCARD;
  364. LIBRARY DateBase BY -444
  365.   PROCEDURE ValidJulianDate(day   IN D0,
  366.                 month IN D1 : SHORTCARD;
  367.                 year  IN D2 : LONGINT) : BOOLEAN;
  368. LIBRARY DateBase BY -450
  369.   PROCEDURE ValidGregorianDate(day   IN D0,
  370.                    month IN D1 : SHORTCARD;
  371.                    year  IN D2 : LONGINT) : BOOLEAN;
  372. LIBRARY DateBase BY -456
  373.   PROCEDURE ValidHeisDate(day   IN D0,
  374.               month IN D1 : SHORTCARD;
  375.               year  IN D2 : LONGINT) : BOOLEAN;
  376. LIBRARY DateBase BY -462
  377.   PROCEDURE SetCountry(country IN D0 : Countries);
  378. LIBRARY DateBase BY -480
  379.   PROCEDURE SetFirstWeekday(weekday IN D0 : Weekdays);
  380. LIBRARY DateBase BY -486
  381.   PROCEDURE SupplementCentury(year       IN D0 : SHORTCARD;
  382.                   actualyear IN D1 : LONGINT) : LONGINT;
  383. LIBRARY DateBase BY -510
  384.   PROCEDURE JulianLastMonthDay(month IN D0 : SHORTCARD;
  385.                    year  IN D1 : LONGINT) : SHORTCARD;
  386. LIBRARY DateBase BY -516
  387.   PROCEDURE GregorianLastMonthDay(month IN D0 : SHORTCARD;
  388.                   year  IN D1 : LONGINT) : SHORTCARD;
  389. LIBRARY DateBase BY -522
  390.   PROCEDURE HeisLastMonthDay(month IN D0 : SHORTCARD;
  391.                  year  IN D1 : LONGINT) : SHORTCARD;
  392. LIBRARY DateBase BY -528
  393.   PROCEDURE NextValidJulianDate(day        IN D0,
  394.                 month      IN D1 : SHORTCARD;
  395.                 year       IN D2 : LONGINT;
  396.                 VAR dday   IN A0,
  397.                     dmonth IN A1 : SHORTCARD;
  398.                 VAR dyear  IN A2 : LONGINT);
  399. LIBRARY DateBase BY -534
  400.   PROCEDURE NextValidGregorianDate(day        IN D0,
  401.                    month      IN D1 : SHORTCARD;
  402.                    year       IN D2 : LONGINT;
  403.                    VAR dday   IN A0,
  404.                        dmonth IN A1 : SHORTCARD;
  405.                    VAR dyear  IN A2 : LONGINT);
  406. LIBRARY DateBase BY -540
  407.   PROCEDURE NextValidHeisDate(day        IN D0,
  408.                   month      IN D1 : SHORTCARD;
  409.                   year       IN D2 : LONGINT;
  410.                   VAR dday   IN A0,
  411.                   dmonth IN A1 : SHORTCARD;
  412.                   VAR dyear  IN A2 : LONGINT);
  413. LIBRARY DateBase BY -546
  414.   PROCEDURE PreviousValidJulianDate(day        IN D0,
  415.                     month      IN D1 : SHORTCARD;
  416.                     year       IN D2 : LONGINT;
  417.                     VAR dday   IN A0,
  418.                     dmonth IN A1 : SHORTCARD;
  419.                     VAR dyear  IN A2 : LONGINT);
  420. LIBRARY DateBase BY -552
  421.   PROCEDURE PreviousValidGregorianDate(day        IN D0,
  422.                        month      IN D1 : SHORTCARD;
  423.                        year       IN D2 : LONGINT;
  424.                        VAR dday   IN A0,
  425.                        dmonth IN A1 : SHORTCARD;
  426.                        VAR dyear  IN A2 : LONGINT);
  427. LIBRARY DateBase BY -558
  428.   PROCEDURE PreviousValidHeisDate(day        IN D0,
  429.                   month      IN D1 : SHORTCARD;
  430.                   year       IN D2 : LONGINT;
  431.                   VAR dday   IN A0,
  432.                       dmonth IN A1 : SHORTCARD;
  433.                   VAR dyear  IN A2 : LONGINT);
  434. LIBRARY DateBase BY -564
  435.   PROCEDURE FormatDate(fmt   IN A0 : SysStringPtr;
  436.                day   IN D0,
  437.                month IN D1 : SHORTCARD;
  438.                year  IN D2 : LONGINT;
  439.                lang  IN D3 : Languages;
  440.                tstr  IN A1 : SysStringPtr);
  441. LIBRARY DateBase BY -570
  442.   PROCEDURE ParseDate(fmt         IN D0,
  443.               dstr        IN D1 : SysStringPtr;
  444.               lang        IN D2 : Languages;
  445.               calendar    IN D3 : Calendars;
  446.               actualjd    IN D4 : LONGCARD;
  447.               VAR day     IN A0,
  448.               month   IN A1 : SHORTCARD;
  449.               VAR year    IN A2 : LONGINT;
  450.                       pfmt        IN A3 : SysStringPtr;
  451.               VAR plang   IN D5 : Languages) : SHORTINT;
  452. LIBRARY DateBase BY -576
  453.   PROCEDURE JulianWWtoDM(weekday    IN D0 : Weekdays;
  454.              week       IN D1 : SHORTCARD;
  455.              year       IN D2 : LONGINT;
  456.              VAR dday   IN A0,
  457.                  dmonth IN A1 : SHORTCARD;
  458.              VAR dyear  IN A2 : LONGINT);
  459. LIBRARY DateBase BY -582
  460.   PROCEDURE GregorianWWtoDM(weekday    IN D0 : Weekdays;
  461.                 week       IN D1 : SHORTCARD;
  462.                 year       IN D2 : LONGINT;
  463.                 VAR dday   IN A0,
  464.                 dmonth IN A1 : SHORTCARD;
  465.                 VAR dyear  IN A2 : LONGINT);
  466. LIBRARY DateBase BY -588
  467.   PROCEDURE HeisWWtoDM(weekday    IN D0 : Weekdays;
  468.                week       IN D1 : SHORTCARD;
  469.                year       IN D2 : LONGINT;
  470.                VAR dday   IN A0,
  471.                dmonth IN A1 : SHORTCARD;
  472.                VAR dyear  IN A2 : LONGINT);
  473. LIBRARY DateBase BY -606
  474.   PROCEDURE DateToNum(day   IN D0,
  475.               month IN D1 : SHORTCARD;
  476.               year  IN D2 : LONGINT) : LONGINT;
  477. LIBRARY DateBase BY -612
  478.   PROCEDURE NumToDate(num       IN D0 : LONGINT;
  479.               VAR day   IN A0,
  480.               month IN A1 : SHORTCARD;
  481.               VAR year  IN A2 : LONGINT);
  482.  
  483. LIBRARY DateBase BY -618
  484.   PROCEDURE JulianDiffDateRange(day        IN D0,
  485.                     month      IN D1 : SHORTCARD;
  486.                     year       IN D2 : LONGINT;
  487.                     days       IN D3 : LONGINT;
  488.                     months     IN D4 : LONGINT;
  489.                     years      IN D5 : LONGINT;
  490.                     VAR dday   IN A0,
  491.                         dmonth IN A1 : SHORTCARD;
  492.                     VAR dyear  IN A2 : LONGINT);
  493. LIBRARY DateBase BY -624
  494.   PROCEDURE GregorianDiffDateRange(day        IN D0,
  495.                        month      IN D1 : SHORTCARD;
  496.                        year       IN D2 : LONGINT;
  497.                        days       IN D3 : LONGINT;
  498.                        months     IN D4 : LONGINT;
  499.                        years      IN D5 : LONGINT;
  500.                        VAR dday   IN A0,
  501.                        dmonth IN A1 : SHORTCARD;
  502.                        VAR dyear  IN A2 : LONGINT);
  503. LIBRARY DateBase BY -630
  504.   PROCEDURE HeisDiffDateRange(day        IN D0,
  505.                   month      IN D1 : SHORTCARD;
  506.                   year       IN D2 : LONGINT;
  507.                   days       IN D3 : LONGINT;
  508.                   months     IN D4 : LONGINT;
  509.                   years      IN D5 : LONGINT;
  510.                   VAR dday   IN A0,
  511.                       dmonth IN A1 : SHORTCARD;
  512.                   VAR dyear  IN A2 : LONGINT);
  513. LIBRARY DateBase BY -636
  514.   PROCEDURE JulianRangeDiff(day1       IN D0,
  515.                 month1     IN D1 : SHORTCARD;
  516.                 year1      IN D2 : LONGINT;
  517.                 day2       IN D3,
  518.                 month2     IN D4 : SHORTCARD;
  519.                 year2      IN D5 : LONGINT;
  520.                 VAR days   IN A0,
  521.                 months IN A1 : SHORTINT;
  522.                 VAR years  IN A2 : LONGINT);
  523. LIBRARY DateBase BY -642
  524.   PROCEDURE GregorianRangeDiff(day1       IN D0,
  525.                    month1     IN D1 : SHORTCARD;
  526.                    year1      IN D2 : LONGINT;
  527.                    day2       IN D3,
  528.                    month2     IN D4 : SHORTCARD;
  529.                    year2      IN D5 : LONGINT;
  530.                    VAR days   IN A0,
  531.                    months IN A1 : SHORTINT;
  532.                    VAR years  IN A2 : LONGINT);
  533. LIBRARY DateBase BY -648
  534.   PROCEDURE HeisRangeDiff(day1       IN D0,
  535.               month1     IN D1 : SHORTCARD;
  536.               year1      IN D2 : LONGINT;
  537.               day2       IN D3,
  538.               month2     IN D4 : SHORTCARD;
  539.               year2      IN D5 : LONGINT;
  540.               VAR days   IN A0,
  541.                   months IN A1 : SHORTINT;
  542.               VAR years  IN A2 : LONGINT);
  543. LIBRARY DateBase BY -654
  544.   PROCEDURE LocalToGMT(ljd       IN D0,
  545.                lsecs     IN D1 : LONGCARD;
  546.                DST       IN D2 : BOOLEAN;
  547.                zonemin   IN D3 : SHORTINT;
  548.                VAR gjd   IN A0,
  549.                    gsecs IN A1 : LONGCARD);
  550. LIBRARY DateBase BY -660
  551.   PROCEDURE GMTToLocal(gjd           IN D0,
  552.                gsecs         IN D1 : LONGCARD;
  553.                zonemin       IN D2 : SHORTINT;
  554.                changePrevDay IN D3,
  555.                changeDay     IN D4,
  556.                changeNextDay IN D5 : ChangeDayModes;
  557.                changeHour    IN D6 : SHORTCARD;
  558.                VAR ljd       IN A0,
  559.                    lsecs     IN A1 : LONGCARD;
  560.                VAR DST       IN A2 : BOOLEAN);
  561.  
  562. LIBRARY DateBase BY -666
  563.   PROCEDURE LeapYear(year     IN D0 : LONGINT;
  564.                      calendar IN D1 : Calendars) : BOOLEAN;
  565.  
  566. LIBRARY DateBase BY -672
  567.   PROCEDURE MonthDays(month    IN D0 : SHORTCARD;
  568.               year     IN D1 : LONGINT;
  569.                       calendar IN D2 : Calendars) : SHORTCARD;
  570. LIBRARY DateBase BY -684
  571.   PROCEDURE YearDays(year     IN D0 : LONGINT;
  572.                      calendar IN D1 : Calendars) : CARDINAL;
  573. LIBRARY DateBase BY -690
  574.   PROCEDURE DayDiff(day1     IN D0,
  575.             month1   IN D1 : SHORTCARD;
  576.             year1    IN D2 : LONGINT;
  577.             day2     IN D3,
  578.             month2   IN D4 : SHORTCARD;
  579.             year2    IN D5 : LONGINT;
  580.                     calendar IN D6 : Calendars) : LONGINT;
  581. LIBRARY DateBase BY -696
  582.   PROCEDURE Weekday(day      IN D0,
  583.             month    IN D1 : SHORTCARD;
  584.             year     IN D2 : LONGINT;
  585.                     calendar IN D3 : Calendars) : Weekdays;
  586. LIBRARY DateBase BY -702
  587.   PROCEDURE DaysBeforeWeekday(day      IN D0,
  588.                   month    IN D1 : SHORTCARD;
  589.                   year     IN D2 : LONGINT;
  590.                   weekday  IN D3 : Weekdays;
  591.                                calendar IN D4 : Calendars) : SHORTCARD;
  592. LIBRARY DateBase BY -708
  593.   PROCEDURE DaysAfterWeekday(day      IN D0,
  594.                  month    IN D1 : SHORTCARD;
  595.                  year     IN D2 : LONGINT;
  596.                  weekday  IN D3 : Weekdays;
  597.                            calendar IN D4 : Calendars) : SHORTCARD;
  598. LIBRARY DateBase BY -714
  599.   PROCEDURE YearToScaliger(year     IN D0 : LONGINT;
  600.                            calendar IN D1 : Calendars) : CARDINAL;
  601. LIBRARY DateBase BY -720
  602.   PROCEDURE ScaligerYearToYear(syear    IN D0 : CARDINAL;
  603.                                calendar IN D1 : Calendars) : LONGINT;
  604. LIBRARY DateBase BY -726
  605.   PROCEDURE SYearToJD(syear    IN D0 : CARDINAL;
  606.                       calendar IN D1 : Calendars) : LONGCARD;
  607. LIBRARY DateBase BY -732
  608.   PROCEDURE DateToJD(day      IN D0,
  609.              month    IN D1 : SHORTCARD;
  610.              year     IN D2 : LONGINT;
  611.                      calendar IN D3 : Calendars) : LONGCARD;
  612. LIBRARY DateBase BY -738
  613.   PROCEDURE Easter(year       IN D0 : LONGINT;
  614.            VAR dday   IN A0,
  615.                dmonth IN A1 : SHORTCARD;
  616.                    calendar   IN D1 : Calendars);
  617. LIBRARY DateBase BY -744
  618.   PROCEDURE Week(day      IN D0,
  619.          month    IN D1 : SHORTCARD;
  620.          year     IN D2 : LONGINT;
  621.                  calendar IN D3 : Calendars) : SHORTCARD;
  622. LIBRARY DateBase BY -750
  623.   PROCEDURE JDToDate(jd        IN D0 : LONGCARD;
  624.              VAR day   IN A0,
  625.              month IN A1 : SHORTCARD;
  626.              VAR year  IN A2 : LONGINT;
  627.                      calendar  IN D1 : Calendars);
  628. LIBRARY DateBase BY -756
  629.   PROCEDURE ValidDate(day      IN D0,
  630.               month    IN D1 : SHORTCARD;
  631.               year     IN D2 : LONGINT;
  632.                       calendar IN D3 : Calendars) : BOOLEAN;
  633. LIBRARY DateBase BY -678
  634.   PROCEDURE LastMonthDay(month    IN D0 : SHORTCARD;
  635.              year     IN D1 : LONGINT;
  636.                          calendar IN D2 : Calendars) : SHORTCARD;
  637. LIBRARY DateBase BY -762
  638.   PROCEDURE NextValidDate(day        IN D0,
  639.               month      IN D1 : SHORTCARD;
  640.               year       IN D2 : LONGINT;
  641.               VAR dday   IN A0,
  642.                   dmonth IN A1 : SHORTCARD;
  643.               VAR dyear  IN A2 : LONGINT;
  644.                           calendar   IN D3 : Calendars);
  645. LIBRARY DateBase BY -768
  646.   PROCEDURE PreviousValidDate(day        IN D0,
  647.                   month      IN D1 : SHORTCARD;
  648.                   year       IN D2 : LONGINT;
  649.                   VAR dday   IN A0,
  650.                   dmonth IN A1 : SHORTCARD;
  651.                   VAR dyear  IN A2 : LONGINT;
  652.                               calendar   IN D3 : Calendars);
  653. LIBRARY DateBase BY -774
  654.   PROCEDURE WWtoDM(weekday    IN D0 : Weekdays;
  655.            week       IN D1 : SHORTCARD;
  656.            year       IN D2 : LONGINT;
  657.            VAR dday   IN A0,
  658.                dmonth IN A1 : SHORTCARD;
  659.            VAR dyear  IN A2 : LONGINT;
  660.                    calendar   IN D3 : Calendars);
  661. LIBRARY DateBase BY -780
  662.   PROCEDURE DiffDateRange(day        IN D0,
  663.               month      IN D1 : SHORTCARD;
  664.               year       IN D2 : LONGINT;
  665.               days       IN D3 : LONGINT;
  666.               months     IN D4 : LONGINT;
  667.               years      IN D5 : LONGINT;
  668.               VAR dday   IN A0,
  669.                   dmonth IN A1 : SHORTCARD;
  670.               VAR dyear  IN A2 : LONGINT;
  671.                           calendar   IN D6 : Calendars);
  672. LIBRARY DateBase BY -786
  673.   PROCEDURE RangeDiff(day1       IN D0,
  674.               month1     IN D1 : SHORTCARD;
  675.               year1      IN D2 : LONGINT;
  676.               day2       IN D3,
  677.               month2     IN D4 : SHORTCARD;
  678.               year2      IN D5 : LONGINT;
  679.               VAR days   IN A0,
  680.               months IN A1 : SHORTINT;
  681.               VAR years  IN A2 : LONGINT;
  682.                       calendar   IN D6 : Calendars);
  683.  
  684.  
  685. GROUP
  686.   TypeGrp =
  687.     MoonPhases, Weekdays,
  688.     DateTexts,  WordClasses,
  689.     Languages,  Countries,
  690.     Calendars,  ChangeDayModes;
  691.  
  692.   ProcGrp =
  693.     TimeZoneFactor,
  694.     LMT,
  695.     ValidTime,
  696.     DateText,
  697.     SetCountry,
  698.     SetFirstWeekday,
  699.     SupplementCentury,
  700.     TimeToJD,                JDToTime,
  701.     TimeToSec,               SecToTime,
  702.     JDtoMJD,                 MJDtoJD,
  703.     TimeDiff,                DiffTime,
  704.     FormatTime,              ParseTime,
  705.     FormatDate,              ParseDate,
  706.     Compare2Times,           Compare2Dates,
  707.     TimeToNum,               NumToTime,
  708.     DateToNum,               NumToDate,
  709.     WeekdayText,             WeekdayShortText,
  710.     MonthText,               MonthShortText,
  711.     GregorianMoonPhase,      GregorianMoonAge,
  712.     JulianLeapYear,          GregorianLeapYear,          HeisLeapYear,
  713.     JulianMonthDays,         GregorianMonthDays,         HeisMonthDays,
  714.     JulianYearDays,          GregorianYearDays,          HeisYearDays,
  715.     JulianDayDiff,           GregorianDayDiff,           HeisDayDiff,
  716.     JulianWeekday,           GregorianWeekday,           HeisWeekday,
  717.     JulianDaysBeforeWeekday, GregorianDaysBeforeWeekday, HeisDaysBeforeWeekday,
  718.     JulianDaysAfterWeekday,  GregorianDaysAfterWeekday,  HeisDaysAfterWeekday,
  719.     JulianDiffDate,          GregorianDiffDate,          HeisDiffDate,
  720.     JYearToScaliger,         GYearToScaliger,            HYearToScaliger,
  721.     ScaligerYearToJ,         ScaligerYearToG,            ScaligerYearToH,
  722.     JSYearToJD,              GSYearToJD,                 HSYearToJD,
  723.     JulianToJD,              GregorianToJD,              HeisToJD,
  724.     JulianEaster,            GregorianEaster,            HeisEaster,
  725.     JulianWeek,              GregorianWeek,              HeisWeek,
  726.     JDToJulian,              JDToGregorian,              JDToHeis,
  727.     ValidJulianDate,         ValidGregorianDate,         ValidHeisDate,
  728.     JulianLastMonthDay,      GregorianLastMonthDay,      HeisLastMonthDay,
  729.     NextValidJulianDate,     NextValidGregorianDate,     NextValidHeisDate,
  730.     PreviousValidJulianDate, PreviousValidGregorianDate, PreviousValidHeisDate,
  731.     JulianWWtoDM,            GregorianWWtoDM,            HeisWWtoDM,
  732.     JulianDiffDateRange,     GregorianDiffDateRange,     HeisDiffDateRange,
  733.     JulianRangeDiff,         GregorianRangeDiff,     HeisRangeDiff,
  734.     LeapYear,
  735.     MonthDays,
  736.     YearDays,
  737.     DayDiff,
  738.     Weekday,
  739.     DaysBeforeWeekday,
  740.     DaysAfterWeekday,
  741.     YearToScaliger,
  742.     ScaligerYearToYear,
  743.     SYearToJD,
  744.     DateToJD,
  745.     Easter,
  746.     Week,
  747.     JDToDate,
  748.     ValidDate,
  749.     LastMonthDay,
  750.     NextValidDate,
  751.     PreviousValidDate,
  752.     WWtoDM,
  753.     DiffDateRange,
  754.     RangeDiff;
  755.  
  756.   All = ProcGrp, TypeGrp;
  757.  
  758. END Date.
  759.